#pragma once
#include <sys/socket.h>  
#include <sys/types.h>  
#include <netinet/in.h>  
#include <string.h>  
#include <fcntl.h> 
#include <arpa/inet.h>

class tcp_socket{

public:
	tcp_socket(){
		netfd = -1;
		recvStatus = 0;
	}
	~tcp_socket(){
		if( netfd > 0 ){
			close();
		}
	}

	void __setFdForPrivate(int fd);

	int open();
	int setNonBlock();
	int setTimeOut(int ms);
	int connect(const char *ip, int port);
	int send(const char* buf, int size);
	int recv( char* buf, int size);
	int close();

	int getFd(){return netfd;}
	int getRevStatus(){ return recvStatus;}
	
private:
	int netfd;
	int recvStatus;

};

